/**   
* @Title: PersistenceLayerMapper.java 
* @Package com.gomeplus.jdbc.mapper 
* @Description: 持久层接口 
* @author chenmin-ds   
* @date 2017年5月26日 上午11:34:32 
* @company cn.com.gome
* @version V1.0   
*/ 


package com.gomeplus.jdbc.mapper;

import java.util.List;

import com.gomeplus.jdbc.exception.LogicsSqlException;
import com.gomeplus.jdbc.page.Entitys;
import com.gomeplus.jdbc.page.PageQueryEntitys;

/** 
 * @ClassName: PersistenceLayerMapper 
 * @Description: 持久层接口 
 * @author chenmin-ds 
 * @date 2017年5月26日 上午11:34:32  
 */
public interface PersistenceLayerSerMapper<T>{

	/**
	 * @Title: query
	 * @Description: 查询实体对象
	 * @param  id
	 * @return Entitys 返回类型
	 * @throws LogicsSqlException
	 */
	public T query(String id);

	/**
	 * @Title: query
	 * @Description: 查询实体对象
	 * @param entity
	 * @return Entitys 返回类型
	 * @throws LogicsSqlException
	 */
	public T queryObj(T entity);

	/**
	 * @Title: queryPo
	 * @Description: 查询实体对象
	 * @param entity
	 * @return Entitys 返回类型
	 * @throws LogicsSqlException
	 */
	public Entitys queryVo(T entity);

	/**
	 * @Title: queryList
	 * @Description: 根据条件查询集合
	 * @param entity
	 * @return List<Entitys> 返回类型
	 * @throws LogicsSqlException
	 */
	public List<T> queryList( T entity);
	
	/**
	* @Title: queryPageListCount
	* @Description: 根据条件查询总条数
	* @param @param entity
	* @param @return    设定文件
	* @return int    返回类型
	* @throws LogicsSqlException
	 */
	public int queryPageListCount(PageQueryEntitys entity);

	/**
	 * @Title: queryPageList
	 * @Description: 分页查询
	 * @param entity
	 * @return PageQueryEntitys 返回类型
	 * @throws LogicsSqlException
	 */
	public List<T> queryPageList(PageQueryEntitys entity);

	/**
	 * @Title: queryPagePoList
	 * @Description: 分页查询
	 * @param entity
	 * @return PageQueryEntitys 返回类型
	 * @throws LogicsSqlException
	 */
	public List<Entitys> queryPageVoList(PageQueryEntitys entity);
}
